Створення елементарної Windows-програми з віконним інтерфейсом на мові Асемблер

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Контрольна розрахункова робота
Предмет:
Підприємництво

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Інститут підприємництва і перспективних технологій при національному університеті «Львівська політехніка» Контрольна розрахункова робота на тему «Створення елементарної Windows-програми з віконним інтерфейсом на мові Асемблер» Створення вікон на Асемблері Мета: ознайомитись з створенням вікон в середовищі Асемблер Теоретичні відомості Windows містить дуже багато ресурсів для програм. Центральне місце в них займає Win32 API. Windows API це набір дуже корисних і готових до використання будь-якою програмою функцій, розташованих усередині Windows і функціонально об'єднаних в DLL-файлах, таких як Kernel32.dll, User32.dll і Gdi32.dll. Kernel32.dll містить API-функции, що працюють з пам'яттю і керуючі процесами. User32.dll управляє інтерфейсом Вашої програми. Gdi32.dll містить графічні функції. Окрім трьох основних існують і інші бібліотеки, інформація про них вам також доступна. Windows-програма динамічно пов'язана з dll-файлами, тобто код API-функції не включається у виконуваний файл, на це місце поміщається команда безумовного переходу в те місце відповідної бібліотеки, де знаходиться дана функція. Для того, щоб Ваша програма змогла знайти необхідні API-функции в процесі роботи, Ви повинні включити деяку інформацію .exe файл. Необхідна інформація знаходиться в бібліотечних функцій, що імпортуються. Ви повинні пов'язати свою програму з вірною бібліотекою функцій, що імпортуються, інакше вона не зможе знайти необхідну функцію. Існує два типи API-функций: ANSI і Unicode. Імена ANSI функцій закінчуються символом "А", наприклад стандартне вікно. Імена Unicode функцій закінчується символом "W" (Wide char), наприклад стандартне вікно. Windows 95 в основному використовує ANSI функції, Windows NT - Unicode. Текст програми: .386 .model flat, stdcall include win32.inc ;Файл win32.inc содержит некоторые нужные константы и структуры extrn CreateWindowExA:PROC extrn DefWindowProcA:PROC extrn DispatchMessageA:PROC extrn ExitProcess:PROC extrn GetMessageA:PROC extrn GetModuleHandleA:PROC extrn LoadCursorA:PROC extrn LoadIconA:PROC extrn PostQuitMessage:PROC extrn RegisterClassA:PROC extrn ShowWindow:PROC extrn TranslateMessage:PROC extrn UpdateWindow:PROC .data newhwnd dd 0 msg MSGSTRUCT <?> wc WNDCLASS <?> hInst dd 0 szTitleName db ‘Виконав Шиш володимир’,0 szClassName db 'ASMCLASS32',0 .code start: push 0 call GetModuleHandleA mov [hInst], eax ;Получим дискриптор программы. ;Далее инициализируем структуру WndClass для регистрации окна mov [wc.clsStyle], CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS ;clsStyle - определяет стиль класса mov [wc.clsLpfnWndProc], offset WndProc ;clsLpfnWndProc - указывает на процедуру окна mov [wc.clsCbClsExtra], 0 mov [wc.clsCbWndExtra], 0 mov eax, [hInst] mov [wc.clsHInstance], eax ;clsHInstance - содержит дискриптор программы push IDI_APPLICATION push 0 call LoadIconA mov [wc.clsHIcon], eax push IDC_ARROW push 0 call LoadCursorA mov [wc.clsHCursor], eax mov [wc.clsHbrBackground], COLOR_WINDOW + 1 mov dword ptr [wc.clsLpszMenuName], 0 mov dword ptr [wc.clsLpszClassName], offset szClassName ;clsLpszClassName - определяет имя класса окна push offset wc call RegisterClassA ;Создаем окно: push 0 push [hInst] ; дискриптор окна push 0 push 0 push CW_USEDEFAULT ; высота push CW_USEDEFAULT ; ширина push CW_USEDEFAULT ; y push CW_USEDEFAULT ; x push WS_OVERLAPPEDWINDOW ; стиль push offset szTitleName ; за...
Антиботан аватар за замовчуванням

24.03.2013 20:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини